java - 将 OffsetDateTime 转换为 UTC 时间戳
全部标签 我有一个数组,我想做一个散列,这样我就可以快速询问“数组中有X吗?”。在perl中,有一种简单(快速)的方法可以做到这一点:my@array=qw(123);my%hash;@hash{@array}=undef;这会生成一个哈希值,如下所示:{1=>undef,2=>undef,3=>undef,}我在Ruby中想到的最好的是:array=[1,2,3]hash=Hash[array.map{|x|[x,nil]}]给出:{1=>nil,2=>nil,3=>nil}是否有更好的Ruby方法?编辑1不,Array.include?这不是一个好主意。它慢。它在O(n)而不是O(1)中执行
如何在ruby中将散列转换为结构?鉴于此:h={:a=>1,:b=>2}我想要一个这样的结构:s.a==1s.b==2 最佳答案 如果您已经定义了一个结构,并且您想要使用散列实例化一个实例:Person=Struct.new(:first_name,:last_name,:age)person_hash={first_name:"Foo",last_name:"Bar",age:29}person=Person.new(*person_hash.values_at(*Person.members))=>#
我想知道是否有任何相对简单的方法可以加快我的控制台加载时间,它开始接近30秒。我有很多子类,它们的方法似乎不受reload!的影响,所以我最终打开和关闭控制台很多次。IRB加载速度快如闪电。我的gem太多了吗?我该如何安排加载任务的时间,以便我可以看到什么占用了最多的时间?如您所见,我已经尝试过dev-boostgem但无济于事。该应用程序在Passenger中很好,只是控制台加载让我很烦。在具有2.4GHz和4GBRAM的MBPOSX10.6.6上运行。不使用RVM。版本:Ovid$rails-vRails3.0.3Ovid$ruby-vruby1.9.2p136(2010-12-2
这是我的哈希:tempData={"a"=>100,"here"=>200,"c"=>"hello"}我需要像下面这样的方法来访问散列键:tempData.a#100tempData.here#200 最佳答案 你可以把你的散列包在OpenStruct中:require'ostruct'tempData={"a"=>100,"here"=>200,"c"=>"hello"}os=OpenStruct.newtempDataos.a#=>100os.here#=>200如果你真的真的想要,你也可以猴子修补Hash类,但我建议不要这样做
我有一个Rails3.0.9应用程序,一旦部署,就会遇到一堆ActiveModel::MissingAttributeErrors,这些错误会突然出现并导致500秒。错误相当随机地发生,有时页面会加载,有时不会,但属性都是数据库中的现有属性,应该可以找到。奇怪的是,一段时间后,错误消失了。突然之间,它们不再引起问题。我已经搜索过这个问题的解决方案,但这个错误主要发生在有人完成Model.all(:select=>'column_x,column_y')并调用column_z或者当他们使用cache_money时。这些我都没有做。有人能帮忙吗? 最佳答案
对于网络编程,数字以字符串形式出现。但是to_i会将"5abc"转换为5并将"abc"转换为0,都是错误的答案。为了捕获这些,我写道:defnumber_or_nil(s)number=s.to_inumber=nilif(number.to_s!=s)returnnumberend是否有一种更简洁、更符合Ruby标准的方法来完成此转换并检测该字符串不是数字? 最佳答案 使用整数(字符串)如果字符串无法转换为整数,它将引发ArgumentError错误。Integer('5abc')#=>ArgumentError:invalidv
这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:HowdoIConvertDateTime.nowtoUTCinRuby?如何以日期时间毫秒和UTC获取当前时间?前任。2012-03-22T18:48:40.873Z我试过了-Time.now.utc_offset.to_sTime.now.xs_datetime
我正在尝试将Ruby中的全大写字符串转换为小写字符串,但每个单词的第一个字符都是大写。示例:将“我的字符串在这里”转换为“我的字符串在这里”。我知道我可以使用.downcase方法,但这会使所有内容都变成小写(“我的字符串在这里”)。我正在扫描文件中的所有行并进行此更改,那么是否有可以通过ruby使用的正则表达式来实现此目的?谢谢! 最佳答案 如果您正在使用Rails(您真正需要的只是ActiveSupport,它是Rails的一部分),您可以使用titleize:"MYSTRINGHERE".titleize#=>"MyStr
我正在编写一个使用Hpricot的爬虫。它从某个网页下载字符串列表,然后我尝试将其写入文件。编码有问题:"\xC3"fromASCII-8BITtoUTF-8我有在网页上呈现并以这种方式打印的项目:Développementstr.encoding返回UTF-8,因此force_encoding('UTF-8')没有帮助。我如何将其转换为可读的UTF-8? 最佳答案 您的字符串似乎被错误地编码了:"Développement".encode("iso-8859-1").force_encoding("utf-8")#=>"Dév
我想知道Rails中有什么方便的函数可以将带有负号的字符串转换为数字。例如-1005.32当我使用.to_f方法时,数字变为1005,忽略负号和小数部分。 最佳答案 .to_f是正确的方法。例子:irb(main):001:0>"-10".to_f=>-10.0irb(main):002:0>"-10.33".to_f=>-10.33也许您的字符串不包含常规的“-”(破折号)?或者破折号和第一个数字之间有空格吗?添加:如果您知道您的输入字符串是一个float的字符串版本,例如“10.2”,那么.to_f是进行转换的最好/最简单的方法